Don't return GDK_GRAB_SUCCESS on failure
authorMatthias Clasen <mclasen@redhat.com>
Tue, 28 Oct 2014 04:51:32 +0000 (00:51 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 28 Oct 2014 04:51:32 +0000 (00:51 -0400)
That seems ... counterproductive.

gdk/gdkdevice.c
gdk/gdktypes.h
gdk/gdkwindow.c

index 0647d9fd7e777bd9cdb23807e4ced72cadfff302..3c9cf672eee3aa32ef26612da2f649610976ec28 100644 (file)
@@ -1291,8 +1291,8 @@ gdk_device_grab (GdkDevice        *device,
   GdkGrabStatus res;
   GdkWindow *native;
 
-  g_return_val_if_fail (GDK_IS_DEVICE (device), GDK_GRAB_SUCCESS);
-  g_return_val_if_fail (GDK_IS_WINDOW (window), GDK_GRAB_SUCCESS);
+  g_return_val_if_fail (GDK_IS_DEVICE (device), GDK_GRAB_FAILED);
+  g_return_val_if_fail (GDK_IS_WINDOW (window), GDK_GRAB_FAILED);
 
   native = gdk_window_get_toplevel (window);
 
index 2b04c10900b0edddfe2a8d41c03e1320e2591caf..5b0a656fa1bcfe56b61337e131583de178ae94fa 100644 (file)
@@ -310,6 +310,7 @@ typedef enum
  * @GDK_GRAB_NOT_VIEWABLE: the grab window or the @confine_to window are not
  *  viewable.
  * @GDK_GRAB_FROZEN: the resource is frozen by an active grab of another client.
+ * @GDK_GRAB_FAILED: the grab failed for some other reason.
  *
  * Returned by gdk_device_grab(), gdk_pointer_grab() and gdk_keyboard_grab() to
  * indicate success or the reason for the failure of the grab attempt.
@@ -320,7 +321,8 @@ typedef enum
   GDK_GRAB_ALREADY_GRABBED = 1,
   GDK_GRAB_INVALID_TIME    = 2,
   GDK_GRAB_NOT_VIEWABLE    = 3,
-  GDK_GRAB_FROZEN          = 4
+  GDK_GRAB_FROZEN          = 4,
+  GDK_GRAB_FAILED          = 5
 } GdkGrabStatus;
 
 /**
index bc10dd5f65ffe98ac6dd2aad6ae6bb98724127ba..60401a3835df7f05e95b2db972161ca5f8fb1f69 100644 (file)
@@ -8000,9 +8000,9 @@ gdk_pointer_grab (GdkWindow *       window,
   gulong serial;
   GList *devices, *dev;
 
-  g_return_val_if_fail (window != NULL, 0);
-  g_return_val_if_fail (GDK_IS_WINDOW (window), 0);
-  g_return_val_if_fail (confine_to == NULL || GDK_IS_WINDOW (confine_to), 0);
+  g_return_val_if_fail (window != NULL, GDK_GRAB_FAILED);
+  g_return_val_if_fail (GDK_IS_WINDOW (window), GDK_GRAB_FAILED);
+  g_return_val_if_fail (confine_to == NULL || GDK_IS_WINDOW (confine_to), GDK_GRAB_FAILED);
 
   /* We need a native window for confine to to work, ensure we have one */
   if (confine_to)
@@ -8112,7 +8112,7 @@ gdk_keyboard_grab (GdkWindow *window,
   gulong serial;
   GList *devices, *dev;
 
-  g_return_val_if_fail (GDK_IS_WINDOW (window), 0);
+  g_return_val_if_fail (GDK_IS_WINDOW (window), GDK_GRAB_FAILED);
 
   /* Non-viewable client side window => fail */
   if (!_gdk_window_has_impl (window) &&